﻿/*
 * Created by SharpDevelop.
 * User: CeCi
 * Date: 10/04/2014
 * Time: 07:25 p.m.
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Data;

namespace Gestión_UTN.blimpl
{
    /// <summary>
    /// Description of tipoExamenblimpl.
    /// </summary>
    public class tipoExamenblimpl : bl.tipoExamenbl
    {
        private static Gestión_UTN.da.tipoExamenda createTipoExamen = Gestión_UTN.factories.dafactory.createTipoExamen();

        public tipoExamenblimpl()
        {
        }

        public bool SaveTipoExamen(string tipo)
        {
            bool ingresado = false;

            try
            {
                ingresado = (!tipo.Equals("")) ?
                    createTipoExamen.SaveTipoExamen(tipo)
                    : false;
            }
            catch (exceptions.daexception ex)
            {
                ingresado = false;
                throw new exceptions.blexception(ex.Message);
            }
            catch (Exception ex)
            {
                ingresado = false;
                throw new exceptions.blexception(ex.Message);
            }

            return ingresado;
        }

        public bool DeleteTipoExamen(string tipo)
        {
            bool eliminado = false;

            try
            {
                eliminado = (!tipo.Equals("")) ?
                    createTipoExamen.DeleteTipoExamen(tipo)
                    : false;
            }
            catch (exceptions.daexception ex)
            {
                eliminado = false;
                throw new exceptions.blexception(ex.Message);
            }
            catch (Exception ex)
            {
                eliminado = false;
                throw new exceptions.blexception(ex.Message);
            }

            return eliminado;
        }

        public bool ModifyTipoExamen(string tipo_anterior, string tipo)
        {
            bool modificado = false;

            try
            {
                modificado = (!tipo.Equals("") && !tipo_anterior.Equals(""))
                    ? createTipoExamen.ModifyTipoExamen(tipo_anterior, tipo)
                    : false;
            }
            catch (exceptions.daexception ex)
            {
                modificado = false;
                throw new exceptions.blexception(ex.Message);
            }
            catch (Exception ex)
            {
                modificado = false;
                throw new exceptions.blexception(ex.Message);
            }

            return modificado;
        }

        public System.Data.DataTable FindAllTipoExamenes()
        {
            DataTable tablaTipos = null;

            try
            {
                tablaTipos = createTipoExamen.FindAllTipoExamenes();
            }
            catch (exceptions.daexception ex)
            {
                tablaTipos = null;
                throw new exceptions.blexception(ex.Message);
            }
            catch (Exception ex)
            {
                tablaTipos = null;
                throw new exceptions.blexception(ex.Message);
            }

            return tablaTipos;
        }

        public bo.TipoExamenbo FindTipoExamenById(int tie_id)
        {
            bo.TipoExamenbo tipo = null;

            try
            {
                Entities.TipoExamen tip = (0 != tie_id)
                    ? createTipoExamen.FindTipoExamenById(tie_id) : null;

                tipo = (null != tip) ? new bo.TipoExamenbo(tip.Id, tip.Tipo)
                    : null;
            }
            catch (exceptions.daexception ex)
            {
                tipo = null;
                throw new exceptions.blexception(ex.Message);
            }
            catch (Exception ex)
            {
                tipo = null;
                throw new exceptions.blexception(ex.Message);
            }

            return tipo;
        }
    }
}
